/**
 * 
 */
package com.proyecto.core.Utilidades;


import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

import javax.imageio.ImageIO;

import com.proyecto.core.modelo.echo.constantes.ParametrosIniciales;

import nextapp.echo2.app.filetransfer.UploadEvent;


/**
 * @author VICTOR GARNICA
 *
 */
public class bajarImagenUrl {

	/**
	 * 
	 */
	public bajarImagenUrl() {
		// TODO Auto-generated constructor stub
	}

    public static void getImageFromUrl(String url,String sLalitude,String sLonguitude,String xNombreArchivo) {
    	BufferedImage imagen;
    	FileWrapper file;
		String nombreArchivo = xNombreArchivo;
		
    	String os = System.getProperty("os.name");
    	try {
			URL xurl = new URL(url);
			URLConnection urlCon = xurl.openConnection();
			System.out.println(urlCon.getContentType());
			InputStream is = urlCon.getInputStream();
			
			//FileOutputStream fos = new FileOutputStream("c:/img@" + sLalitude + "@" +sLonguitude + ".jpg");
			
			//FileOutputStream fos = new FileOutputStream("C:/Desarrollo/WS_CableNorte/cablenorte.echo2/src/htdocs/imagenes/img.png");
			String rutaArchivo2 = ParametrosIniciales.RUTAMAP;
			String rutaArchivoSrcWin = ParametrosIniciales.RUTAMAPSRCWIN;
			String rutaArchivoOutWin = ParametrosIniciales.RUTAMAPOUTWIN;
			String rutaArchivolinux = ParametrosIniciales.RUTAMAPLINUX;
			String rutaArchivoDesarrollo = ParametrosIniciales.RUTAMAPDESARROLLO;
			String rutaArchivoEchoWin = ParametrosIniciales.RUTAMAPECHOWIN;
			
			//String rutaArchivo = "C:/Desarrollo/WS_CableNorte/cablenorte.echo2/out/WEB-INF/classes/com/cablenorte/vista/resource/imagenes/general/";
			
			file = new FileWrapper();
			//File tmpFile = new File(System.getProperties().getProperty("java.io.tmpdir"),nombreArchivo );
			File tmpFile = new File(rutaArchivo2 + nombreArchivo );
			File fileLinux = new File(rutaArchivolinux + nombreArchivo );
        	file.setPath(tmpFile.getCanonicalPath());

        	System.out.println("bajarImagenUrl.tmpFile.getCanonicalPath()" + tmpFile.getCanonicalPath());
        	System.out.println("bajarImagenUrl.tmpFile.getCanonicalFile()" + tmpFile.getCanonicalFile()); 
        	
        	FileOutputStream fos = null;
        	FileOutputStream fosLinux =null;
        	if (os.startsWith("Windows")) {
    			fos = new FileOutputStream(tmpFile);
        	}else 	if (os.startsWith("Linux")) {
				fosLinux = new FileOutputStream(fileLinux);
			}
			/*
			FileOutputStream fosSrcWin = new FileOutputStream(fileSrcWin);
			FileOutputStream fosOutWin = new FileOutputStream(fileOutWin);
			FileOutputStream fosDesa = new FileOutputStream(fileDesa);
			*/
        	
			byte[] array = new byte[1000];
			int leido = is.read(array);
			while (leido > 0){
				if (os.startsWith("Windows")) {
					fos.write(array, 0, leido);
				}else if (os.startsWith("Linux")) {
					fosLinux.write(array, 0, leido);
				}
				leido = is.read(array);
			}
			
			String sourceFile = rutaArchivo2 + nombreArchivo;
			String destinationFile = rutaArchivoSrcWin + nombreArchivo;	
			is.close();
			FileCopy.copiarArchivos(sourceFile, destinationFile);
			

			String destinationFile2 = rutaArchivoDesarrollo + nombreArchivo;	
			FileCopy.copiarArchivos(sourceFile, destinationFile2);
			
			String destinationFile3 = rutaArchivoEchoWin + nombreArchivo;	
			FileCopy.copiarArchivos(sourceFile, destinationFile3);
			
        	if (os.startsWith("Windows")) {
    			fos.close();
        	}else 	if (os.startsWith("Linux")) {
    			fosLinux.close();
			}
			
			
    	} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    	//URLConnection urlcon = 
    	catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
            
    }
    
}
